from lib.database.house.models import House
from datetime import datetime, timedelta


def price_by_tax(house: House) -> float:
    """房屋价格 + 契税、卖方增值税 + 装修费(精装的话，不用计算).\n
    其他如印花税、个人所得税 不考虑.\n
    契税 按首套住宅来计算.\n
    卖方增值税 由 买方出，按是否满1年9个月(商量延迟过户)来计算.\n
    简装 基本就是出租装修，可以认为毛坯\n
    装修按每平米1500的标准来
    """
    price = float(house.price)
    if float(house.size) < 90:
        price += house.price * 0.01
    else:
        price += house.price * 0.015

    if house.pre_trading_date:
        if datetime.now() - house.pre_trading_date < timedelta(days=365+9*30):
            price += house.price * 0.05  # 杭州的增值税
    else:
        if house.age_limit == "不满两年":
            price += house.price * 0.05  # 杭州的增值税

    if house.decoration != "精装":
        price += 15  # 统一按15w来装修

    return round(price, 1)
